package battleco

// @schema_export --ident=schema --json --_type=区域
// @schema_go
// @cache_ts
// @alias 区域
type S区域 struct {
	// @alias 效果
	X效果 string `link:"效果"`

	// @alias 位置偏移
	W位置偏移 *S区域位置偏移
}

// 最大值和最小值限制
type S区域位置偏移 struct {
	// @alias 前后
	Q前后 float64
	// 未实现
	// @alias 左右
	Z左右 float64
}

// @schema_export --ident=schema --json --_type=区域
// @schema_go
// @cache_ts
// @alias 区域_圆形
type S区域_圆形 struct {
	S区域
	// @alias 半径
	// 该效果的区域半径
	B半径 float64
}

// 如果未设置【指向位置】，区域的中心点与原点重合
// 否则，矩形作为射线指向【指向位置】
// @schema_export --ident=schema --json --_type=区域
// @schema_go
// @cache_ts
// @alias 区域_矩形
type S区域_矩形 struct {
	S区域
	// @alias 前后
	Q前后 float64
	// @alias 左右
	Z左右 float64
	// @alias 旋转
	X旋转 float64
}

// @schema_export --ident=schema --json --_type=区域
// @schema_go
// @cache_ts
// @alias 区域_扇形
type S区域_扇形 struct {
	S区域
	// @alias 半径
	// 该效果的区域半径
	B半径 float64
	// @alias 弧形范围
	// 效果搜索区域的弧形范围
	H弧形范围 float64

	// @alias 旋转
	X旋转 float64
}
